#include "director.h"
#include "builder.h"
#include <iostream>
#include <vector>
 
using namespace std;
 
 Director::Director(Builder* pBuilder)
 {
     this->m_pBuilder = pBuilder;
 }
 
 void Director::Construct()
 {
     this->m_pBuilder->BuildPartA();
     this->m_pBuilder->BuildPartB();
     this->m_pBuilder->BuildPartC();
 }
 
 Director::~Director()
 {
     delete this->m_pBuilder;
     this->m_pBuilder = NULL;
 }